I've been trying to write a program, that will remove all the words, that contain the `n` amout of vowels in them. The text is read from a test.txt file which contains the following:

astazi nu este maine


Code:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>




void count1 (char* str)// count number of vowels for each word
{
    for (int i = 0;;)
        for (int v = 0, w = i;;)
        {
            int len;
            char c = str[i++];
            switch (c)
            {
            case 'A':
            case 'E':
            case 'I':
            case 'O':
            case 'U':
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':
                v++;
            default:
                continue;
            case ' ':
            case '\t':
            case '\n':
            case '\0':
                len = i - 1 - w;
                printf("'%.*s': %d characters, %d vowels\n", len, str+w, len, v );
                if (c)
                    break;
                else
                    return;
            }
            break;
        }
}


void count2 (char* str, int n)// my attempt to use basically the same functions from 
//above, to verify if v==n -> delete the word
{
    char line2[128];
    int ls=strlen(str);
    for (int i = 0;;)
        for (int v = 0, w = i;;)
        {
            int len;
            char c = str[i++];
            switch (c)
            {
            case 'A':
            case 'E':
            case 'I':
            case 'O':
            case 'U':
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':
                v++;
            default:
                continue;
            case ' ':
            case '\t':
            case '\n':
            case '\0':
                for(int k = 0; str[k] != '\0'; k++)
                {
                    if (k == 0 || isspace(str[k]))
                    {
                        if(v==n)
                        {
                            strcat(line2, str+1);
                        }
                    }
                }
                printf("%s ", line2);
                if (c)
                    break;
                else
                    return;
            }
            break;
        }
}


int main()
{
    FILE *fp;
    char line[128];
    int c=0, count[26]= {0}, x;
    int n;


    fp = fopen("test.txt", "r");


    fscanf(fp, "%[^\n]", line);
    fclose(fp);
    printf("%s\n\n", line);


    while (line[c] != '\0')
    {
        if (line[c] >= 'a' && line[c] <= 'z')
        {
            x = line[c] - 'a';
            count[x]++;
        }
        c++;
    }


    for (c = 0; c < 26; c++)
    {
        printf("%c occurs %d times.\n", c + 'a', count[c]);
    }
    printf("\n");
    count1(line);
    printf("\nInsert n: ");
    scanf("%d", &n);
    count2(line, n);


    return 0;
}